#ifndef _KEYBOARD_H
#define _KEYBOARD_H

#define FUNCKEYBASE 0x80

#define ESC 0x00

#define F1  (FUNCKEYBASE + 0x01)
#define F2  (FUNCKEYBASE + 0x02)
#define F3  (FUNCKEYBASE + 0x03)
#define F4  (FUNCKEYBASE + 0x04)
#define F5  (FUNCKEYBASE + 0x05)
#define F6  (FUNCKEYBASE + 0x06)
#define F7  (FUNCKEYBASE + 0x07)
#define F8  (FUNCKEYBASE + 0x08)
#define F9  (FUNCKEYBASE + 0x09)
#define F10 (FUNCKEYBASE + 0x0a)
#define F11 (FUNCKEYBASE + 0x0b)
#define F12 (FUNCKEYBASE + 0x0c)

#define PSC (FUNCKEYBASE + 0x0d)
#define SRL (FUNCKEYBASE + 0x0e)
#define BRK (FUNCKEYBASE + 0x0f)
#define INS (FUNCKEYBASE + 0x10)
#define HOM (FUNCKEYBASE + 0x11)
#define PGUP (FUNCKEYBASE + 0x12)
#define DEL (FUNCKEYBASE + 0x13)
#define END (FUNCKEYBASE + 0x14)
#define PGDOWN (FUNCKEYBASE + 0x15)

#define UP (FUNCKEYBASE + 0x16)
#define DOWN (FUNCKEYBASE + 0x17)
#define LEFT (FUNCKEYBASE + 0x18)
#define RIGHT (FUNCKEYBASE + 0x19)

#define LCTRL (FUNCKEYBASE + 0x1a)
#define RCTRL (FUNCKEYBASE + 0x1b)
#define LALT (FUNCKEYBASE + 0x1c)
#define RALT (FUNCKEYBASE + 0x1d)
#define LSHIFT (FUNCKEYBASE + 0x1e)
#define RSHIFT (FUNCKEYBASE + 0x1f)

#define KPHOME (FUNCKEYBASE + 0x20)
#define KPUP (FUNCKEYBASE + 0x21)
#define KPPGUP (FUNCKEYBASE + 0x22)
#define KPLEFT (FUNCKEYBASE + 0x23)
#define KPRIGHT (FUNCKEYBASE + 0x24)
#define KPEND (FUNCKEYBASE + 0x25)
#define KPDOWN (FUNCKEYBASE + 0x26)
#define KPPGDOWN (FUNCKEYBASE + 0x27)
#define KPDEL (FUNCKEYBASE + 0x28)
#define KPINS (FUNCKEYBASE + 0x29)

#define CAPSLOCK (FUNCKEYBASE + 0x2a)
#define NUMLOCK (FUNCKEYBASE + 0x2b)

#endif
